/*
 * @Descripttion: 
 * @Author: voanit
 * @Date: 2022-01-05 14:47:12
 * @LastEditors: voanit
 * @LastEditTime: 2022-01-05 15:03:19
 */

var arr = [
	{ id: '29', pid: '', name: '总裁办' },
	{ id: '2c', pid: '', name: '财务部' },
	{ id: '2d', pid: '2c', name: '财务核算部' },
	{ id: '2f', pid: '2c', name: '薪资管理部' },
	{ id: 'd2', pid: '', name: '技术部' },
	{ id: 'd3', pid: 'd2', name: 'Java研发部' }
]

//  递归的写法   
function toDo2(arr,pid){
  var newArr=[]
  arr.forEach(item=>{
    if(item.pid===pid){
      // 满足item.pid===pid  表示是一级
     var child= toDo2(arr,item.id) //  2-获取的二级和空
     if(child.length){
       // 3-存在有二级,那就需要往一级中添加二级
      item.children=child
     }
      newArr.push(item) //1- 表示收集的都是一级
    }
  })
  return newArr;
}
console.log(toDo2(arr,''),7777)


